Новости Статьи Российское ПО VMware Veeam StarWind vStack Microsoft Citrix Symantec События Релизы Видео Контакты Авторы RSS
Виртуализация и виртуальные машины

Все самое нужное о виртуализации и облаках

Более 6470 заметок о VMware, AWS, Azure, Veeam, Kubernetes и других

VM Guru | Ссылка дня: Полный список лабораторных работ VMware Hands-on Labs

Новый документ - "VMware vSphere 7.0 U1 Tagging Best Practices"


Компания VMware выпустила недавно интересный документ "VMware vSphere 7.0 U1 Tagging Best Practices", описывающий улучшения, которые были сделаны в VMware vSphere 7.0 U1 в плане производительности операций при работе с тэгами.

Вкратце, было сделано 3 основных улучшения:

  • Увеличена производительность при создании тэгов и категорий по сравнению с vSphere 6.7 U3.
  • Производительность вывода тэгов через API улучшилась по сравнению с vSphere 6.7 U3.
  • Теперь доступна паджинация вывода API, что позволяет упростить и ускорить получение данных.

Для иллюстрации улучшений на рисунке ниже приведена картина задержек (latency) при привязывании 15 тэгов к 5 000 виртуальным машинам в vSphere 6.7 U3 (где время линейно увеличивалось с ростом числа тэгов) и vSphere 7.0 Update 1, где время оставалось практически неизменным.

Скачать отчет VMware vSphere 7.0 U1 Tagging Best Practices можно по этой ссылке.


Таги: VMware, vSphere, Performance

Использование утилиты vsantop для мониторинга параметров кластера хранилищ VMware vSAN


Не все администраторы VMware vSphere и vSAN знают, что в версии vSAN 6.7 Update 3 появилась утилита vsantop, которая по аналогии с esxtop, используемой для получения метрик с хостов ESXi, позволяет получать метрики с устройств и хранилищ vSAN.

Запускается утилита просто: vsantop

По умолчанию она отображает метрики для сущности host-domclient. Чтобы выбрать нужную вам сущность - устройства, хост или кластер, нужно нажать большую клавишу <E> с шифтом:

После того, как вы выберете нужную сущность, будут отображаться метрики для нее с дефолтными колонками в данной категории. Чтобы выбрать колонки, нужно нажать клавишу <f>:

Для отображения можно выбрать только 10 полей, если хотите добавить какое-то поле, то какое-то из текущих придется убрать.

Также esxtop может работать в пакетном режиме с заданным интервалом и записывать метрики в CSV-файл:

vsantop -b -d [delay] -n [iterations] > [file location & name]

usage: vsantop [-h] [-v] [-b] [-d delay] [-n iterations]
    -h prints this help menu.
    -v prints version.
    -b enables batch mode.
    -d sets the delay between updates in seconds.
    -n runs vsantop for only n iterations. Use "-n infinity" to run forever.

Например, вот такая команда запустит сбор метрик с 10-секундным интервалом, всего будет 20 таких итераций, а результаты будут записаны в файл CSV:

vsantop -b -d 10 -n 20 > /vmfs/volumes/vsanDatastore/vsantop/result.csv


Таги: VMware, vSAN, vsantop, Performance, Storage

Новый документ "Performance Characterization of NVMe-oF in vSphere 7.0 U1" и сравнение NVMe-oF с FC по SCSI


Недавно у компании VMware появился интересный документ "Performance Characterization of NVMe-oF in vSphere 7.0 U1", в котором рассказывается о производительности протокола NVMe-oF (NVMe over Fibre Channel).

Напомним, что NVMe-oF - это реализация технологии RDMA, которая позволяет не использовать CPU для удаленного доступа к памяти и пропускать к хранилищу основной поток управляющих команд и команд доступа к данным напрямую, минуя процессоры серверов и ядро операционной системы. Еще один его плюс - это то, что он обратно совместим с такими технологиями, как InfiniBand, RoCE и iWARP. Для всего этого нужна поддержка RDMA со стороны HBA-адаптера хоста ESXi.

Поддержка NVMe-oF для доступа к хранилищам появилась еще в VMware vSphere 7, а в обновлении Update 1 была улучшена и оптимизирована. В указанном выше документе рассматривается сравнение производительности традиционного протокола Fibre Channel Protocol (SCSI FCP) с реализацией FC-NVMe в vSphere 7.0 U1.

Для всех бенчмарков использовался тот же HBA-адаптер и инфраструктура сети хранения данных SAN. Для генерации нагрузки использовались утилиты fio (для создания разных по размеру операций ввода-вывода I/O, а также паттернов нагрузки) и Microsoft CDB (бенчмарк для генерации OLTP-нагрузки в SQL Server).

Результат оказался весьма интересным. С точки зрения IOPS протокол NVMe-oF смог выжать почти в два раза больше операций ввода-вывода практически для IO любого размера:

Задержка (Latency) также снизилась практически в два раза:

На картинке ниже приведены результаты теста Microsoft CDB для базы данных в числе транзакций в секунду:

Здесь также виден значительный прирост для NVMe-oF, а для двух виртуальных машин производительность выше почти в раза!

Остальные интересные детали тестирования - в документе.


Таги: VMware, NVMe, Performance, NVMe-oF, Storage

Новое на VMware Labs для гиков: Storage Simulator Using Cellular Automata


На сайте проекта VMware Labs появилась очень замороченная, но интересная штука для гиков - симулятор Storage Simulator Using Cellular Automata.

Это такая утилита, построенная на принципах клеточного автомата (cellular automata, CA), которая позволяет смоделировать характеристики производительности для путей данных в кластере vSAN. Сам методика клеточных автоматов позволяет смоделировать и исследовать комплексную систему со множеством элементов, работающих параллельно и имеющих короткие соединения между собой, при этом создающих эмерждентную сущность.

При симуляции стека хранилищ данная утилита моделирует передачу блоков данных по сети через аппаратные ресурсы по различным коротким соединениям, таким как CPU->кэш->DRAM->SSD/HDD, соединения PCIe, Ethernet и т.п. Вот небольшое видео о том, как это работает:

Основная цель такой симуляции - получить идеальные показатели пиковой пропускной способности к хранилищам - так называемая speed-of-light (SOL) throughput.

При моделировании запросов ввода-вывода на чтение-запись применяются различные модели движения блоков данных по сети. Эти модели включают в себя функции репликации данных, вычисление parity, контрольных сумм, шифрование, компрессия данных и некоторые другие факторы, влияющие на длительность операций.

Результаты можно использовать для бенчмаркинга реальных инфраструктур, изменения настроек для повышения производительности, а также понимания затыков (bottlenecks), понижающих общую производительность стека работы с хранилищами vSAN в виртуальной инфраструктуре.

Вот пример такого моделирования:

В общем, если у вас есть время на подобные игры - скачивайте Storage Simulator Using Cellular Automata по этой ссылке. Инструкции по использованию доступны там же на вкладке "Instructions".


Таги: VMware, Labs, Storage, Simulator, vSAN, Performance

Последние пара обновлений утилиты HCIBench 2.5 и 2.5.1 - много нового


Пару недель назад на сайте проекта VMware Labs вышли обновления сразу нескольких утилит, поэтому вы, возможно, пропустили апдейты HCIBench 2.5 и 2.5.1. Напомним, что это средство позволяет провести комплексный тест производительности отказоустойчивых кластеров хранилищ VMware vSAN, а также других конфигураций виртуальной инфраструктуры. О прошлой версии HCIBench 2.4 мы писали вот тут.

Давайте посмотрим, что нового появилось в версиях 2.5 и 2.5.1:

  • Добавлена возможность тестирования в рамках топологии vSAN HCI Mesh, теперь можно добавлять локальные и удаленные датасторы vSAN одновременно.
  • Добавлена поддержка локальных хранилищ, включая VMFS и тестирование vSAN-Direct.
  • Новый режим vSAN Debug Mode, который позволяет автоматически собрать бандлы vm-support и vmkstats при тестировании vSAN.
  • Изменена конвенция имен виртуальных машин на {vm_prefix}-{datastore_id}-batch_num-sequence_num.
  • Улучшенный формат отчета о тестировании.
  • Возможность указывать кастомные IP для тестовых машин.
  • Возможность выставлять CPU и память для тестовых машин.
  • Добавлено руководство по сетевому траблшутингу как раздел пользовательской документации.
  • Возможность обновления на текущую и последующие версии одной командой:
    tdnf install -y git && git clone https://github.com/cwei44/HCIBench.git && sh HCIBench/upgrade.sh
    MD5 Checksum: 1d14426f92b353e90469a8623ade2bc1 HCIBench_2.5.1.ova
  • Исправлены ошибки с тестированием не-vSAN кластера, а также с превалидацией политики хранилищ.
  • Прочие исправления ошибок.

Скачать VMware HCIBench 2.5.1 можно по этой ссылке.


Таги: VMware, HCIBench, Update, Troubleshooting, Performance, vSAN, Storage, Labs

Для чего нужна технология Paravirtual RDMA (PVRDMA), и как она поддерживает оконечные устройства в VMware vSphere 7 Update 1


Некоторое время назад мы писали о технологии Remote Direct Memory Access (RDMA) которая позволяет не использовать CPU сервера для удаленного доступа приложения к памяти другого хоста. RDMA позволяет приложению обратиться (в режиме чтение-запись) к данным памяти другого приложения на таргете, минуя CPU и операционную систему за счет использования аппаратных возможностей, которые предоставляют сетевые карты с поддержкой этой технологии - называются они Host Channel Adaptor (HCA).

Устройства HCA могут коммуницировать с памятью приложений на сервере напрямую. Грубо говоря, если в обычном режиме (TCP) коммуникация по сети происходит так:

То при наличии на обоих хостах HCA, обмен данными будет происходить вот так:

Очевидно, что такая схема не только снижает нагрузку на CPU систем, но и существенно уменьшает задержки (latency) ввиду обхода некоторых компонентов, для прохождения которых данными требуется время.

Поддержка RDMA появилась еще в VMware vSphere 6.5, когда для сетевых адаптеров PCIe с поддержкой этой технологии появилась возможность обмениваться данными памяти для виртуальных машин напрямую через RDMA API. Эта возможность получила название Paravirtual RDMA (PVRDMA).

Работает она только в окружениях, где есть хосты ESXi с сетевыми картами с соответствующей поддержкой, а также где виртуальные машины подключены к распределенному коммутатору vSphere Distributed Switch (VDS). Метод коммуникации между виртуальными машинами в таком случае выбирается по следующему сценарию:

  • Если две машины общаются между собой на одном ESXi, то используется техника memory copy для PVRDMA, что не требует наличия HCA-карточки на хосте, но сама коммуникация между ВМ идет напрямую.
  • Если машины находятся на хостах с HCA-адаптерами, которые подключены как аплинки к VDS, то коммуникация идет через PVRDMA-канал, минуя обработку на CPU хостов, что существенно повышает быстродействие.
  • Если в коммуникации есть хоть одна ВМ на хосте, где поддержки RDMA на уровне HCA нет, то коммуникация идет через стандартный TCP-туннель.

Начиная с VMware vSphere 7 Update 1, для PVRDMA была добавлена поддержка оконечных устройств с поддержкой RDMA (Native Endpoints), в частности хранилищ. Это позволяет передать хранилищу основной поток управляющих команд и команд доступа к данным от виртуальных машин напрямую, минуя процессоры серверов и ядро операционной системы. К сожалению для таких коммуникаций пока не поддерживается vMotion, но работа в этом направлении идет.

Чтобы у вас работала технология PVRDMA для Native Endpoints:

  • ESXi должен поддерживать пространство имен PVRDMA. Это значит, что аппаратная платформа должна гарантировать, что физический сетевой ресурс для виртуальной машины может быть выделен с тем же публичным идентификатором, что и был для нее на другом хосте (например, она поменяла размещение за счет vMotion или холодной миграции). Для этого обработка идентификаторов происходит на сетевых карточках, чтобы не было конфликтов в сети.
  • Гостевая ОС должна поддерживать RDMA namespaces на уровне ядра (Linux kernel 5.5 и более поздние).
  • Виртуальная машина должна иметь версию VM Hardware 18 или более позднюю.

За счет PVRDMA для Native Endpoints виртуальные машины могут быстрее налаживать коммуникацию с хранилищами и снижать задержки в сети, что положительно сказывается на производительности как отдельных приложений и виртуальных машин, так и на работе виртуального датацентра в целом.


Таги: VMware, vSphere, RDMA, Storage, Performance, CPU, VMachines, Memory

Новое на VMware Labs: Storage Performance Tester


На сайте проекта VMware Labs появилась очередная полезная штука - Storage Performance Tester. С помощью данного средства администраторы VMware vSphere могут в один клик проверить производительность хранилищ в плане IOPS, Latency и циклов CPU на одну операцию ввода-вывода для серверов VMware ESXi.

Эта утилита автоматизирует все шаги, которые необходимо предпринять для тестирования, включая развертывание виртуальных машин, запуск нагрузки по вводу-выводу, а также анализ производительности хранилища. Метрики, полученные в результате тестирования, визуализируются на графиках. Единственная вещь, которую вам нужно сделать - это выполнить соответствующую команду и ждать сгенерированного отчета о производительности хоста ESXi.

Средство создано как для администраторов платформы vSphere, так и для разработчиков, которым требуется решать проблемы производительности в виртуальной инфраструктуре. Также Storage Performance Tester удобно использовать для получения максимальных параметров производительности аппаратного обеспечения, а также программных компонентов (драйверы, настройки vSphere и vSAN).

Для запуска тестовой среды вам понадобятся:

  • python3
  • sshpass
  • 2 ГБ свободного места
  • Linux-окружения (с версией ядра не менее 2.6.31)

Вот небольшое обзорное видео, где можно посмотреть всю процедуру запуска утилиты и, собственно, сам отчет с результатами тестирования:

Скачать Storage Performance Tester можно по этой ссылке.


Таги: VMware, Labs, Performance, Storage, vSphere, vSAN, ESXi

Документ vMotion Performance Study об улучшениях горячей миграции в VMware vSphere 7 Update 1


Не так давно мы писали о том, что в последней версии VMware vSphere 7 Update 1 технология vMotion стала еще быстрее и теперь обеспечивает нужды горячей миграции даже для самых тяжелых виртуальных машин.

Напомним, что VMware полностью переписала технологию vMotion memory pre-copy с использованием нового механизма page-tracing, который существенно уменьшает время "заморозки" и переключения копии виртуальной машины на ее копию на другом хосте ESXi.

Недавно был выпущен интересный и полезный документ "vMotion Innovations in VMware vSphere 7.0 U1 - Performance Study", в котором VMware суммаризовала основные улучшения, сделанные в vMotion.

Интересны некоторые моменты. Например, в vSphere 6.7 используется технология отслеживания изменений CPU во время миграции stop-based trace, которая "подмораживает" все CPU, а в vSphere 7 U1 уже подмораживается только один процессор (техника loose page-trace Install):

Также vSphere 7.0 U1 передает compacted bitmap памяти вместо полного, что уменьшает время переключения на ВМ другого хоста:

Интересно уменьшение влияния миграции тяжелой БД Oracle на производительность - улучшение составило 19 раз!

Время миграции - до 50% меньше:

Ну и вообще в документе очень много всего интересного для интересующихся. Читайте здесь.


Таги: VMware, vSphere, vMotion, Performance, Whitepaper

Что такое VMware vRealize AI Cloud, и как он повышает эффективность хранилищ в рамках концепции самооптимизирующегося датацентра


В начале октября этого года прошла конференция VMworld 2020, которую компания VMware впервые провела исключительно в онлайн-формате. Там было сделано много интересных анонсов, главные из которых - это развитие экосистемы поддержки контейнеризованных приложений и расширение продуктовой линейки для автоматизации облачных инфраструктур.

Сегодня мы поговорим о второй части - решении VMware vRealize AI Cloud, которое предназначено для автоматического повышения эффективности использования хранилищ в рамках концепции самооптимизирующегося датацентра.

Эту концепцию вендоры различных ИТ-платформ продвигают уже давно. Ее суть заключается в том, что решения в рамках датацентра будущего (как программные, так и аппаратные) должны самостоятельно отслеживать изменяющиеся метрики среды, в которой они работают, после чего автоматически вносить коррективы в конфигурации для максимально эффективного функционирования инфраструктуры в целом.

Еще одним трендом VMware считает развитие гибридных инфраструктур, которые будут строить крупные компании. В гибридной среде важна унификация процедур управления и технических инструментов, над чем VMware работает уже давно (например, в этой парадигме построено решение Cloud Director 10.2).

Так вот, в гибридной среде у каждого онпремизного решения должны быть его облачные аналоги, но должны быть и чисто облачные инструменты, которые как раз делают датацентр самооптимизирующимся, поскольку за это отвечает вендор платформы. Одним из таких инструментов и стало решение vRealize AI Cloud:

vRealize AI Cloud поставляется вместе с решением vRealize Operations Cloud в рамках подписки vRealize Cloud Universal. За счет использования алгоритмов машинного обучения этот продукт позволяет адаптироваться к изменяющимся условиям в характере нагрузок и проводить постоянную оптимизацию использования хранилищ (а именно улучшая конкретные KPI, вроде пропускной способности или latency).

Сейчас эта технология работает только с хранилищами vSAN, но потенциально нет никаких препятствий для VMware открыть ее и для других облачных хранилищ.

Как видно из картинки выше, vRealize AI Cloud генерирует и применяет настройки для оптимизации работы с хранилищами, а также дает администратору инструменты для отслеживания производимых изменений и средства мониторинга измеренных количественных улучшений.

Консоль vRealize AI Cloud предлагает администратору решения 4 блоков задач:

  • Оптимизация производительности в кластере
  • Оптимизация емкости хранилищ
  • Решение проблем разного характера, в зависимости от типа объекта
  • Анализ конфигураций объектов и управление ими

Если перейти на уровень виртуальных датацентров, администратор видит те из них, где оптимизация кластеров уже включена (зелено-синий цвет), и те, где выключена, причем для обоих вариантов показано, на сколько процентов можно улучшить количественные метрики:

Можно провалиться на уровень кластера (выбрав соответствующую точку в периметре) и увидеть определенные хосты ESXi, где могут быть проведены оптимизации:

В частности мы видим в реальном времени поток оптимизаций (верхняя строчка), а также основные параметры производительности справа - latency и пропускную способность:

Раскрыв уровень оптимизаций, можно увидеть, какие конкретно настройки и в какое время были изменены. В данном случае был уменьшен размер кэша, поскольку AI Cloud предположил, что это улучшит write latency на 25%:

Конечно же, предположения могут не оправдаться, и тогда AI Cloud откатит настройку, чтобы убедиться, что хуже KPI не стали.

В потоке действий AI Cloud мы четко видим таймлайн изменений и детальные графики производительности на уровне каждого из выбранных хостов:

Если AI Cloud не включен в кластере, то будет рассчитан примерный потенциал оптимизаций, который, на самом деле, представляет собой довольно серьезные цифры, поэтому вполне имеет смысл хотя бы включить и попробовать AI Cloud в деле:

Когда вы включаете этот движок, вы можете выбрать степень агрессивности работы алгоритма оптимизаций:

Консервативный режим всегда оставляет запас по производительности и емкости при выполнении рекомендаций по оптимизации, а агрессивный - действует весьма смело. Как всегда, начинать нужно с консервативного режима и потом потихоньку увеличивать степень. После включения механизма AI Cloud начнется процесс обучения системы паттернам нагрузок, только после чего уже начнется генерация и применение рекомендаций.

В среднем, по тестам VMware, оптимизации хранилищ vSAN могут достигать 60% за счет использования движка AI Cloud. Например, по тестам Rackspace в 4-узловом кластере хранилищ улучшения полосы пропускания на запись (write-throughpu) составили 18%, а уменьшение задержек находилось на уровне 40%-84%.

Также AI Cloud тесно интегрирован с политиками хранилищ SPBM (Storage Policy Based Management). Настройки этих политик также влияют на производительность - например, можно отключить дедупликацию, и это существенно улучшит производительность хоста за счет уменьшения нагрузки на CPU и хранилища:

В целом, решение vRealize AI Cloud - это шаг вперед в реализации концепции самооптимизирующихся датацентров в разрезе хранилищ. Будем надеяться, что решение уже скоро будет доступно в облачных инфраструктурах сервис-провайдеров VMware Cloud.

Также на конференции VMworld Online 2020 компания VMware показала, как именно будет выглядеть решение vRealize AI Cloud:

И несколько интересных моментов можно найти в записях сессий VMworld 2020 (ищите их там по коду сессии):

  • ETML1760 – VMware vRealize AI and the ML Drivers of the Self-Driving Data Center
  • HCMB1761 – Transform your HCI Datacenter Operations with vRealize Operations Cloud and vRealize AI Cloud
  • HCMB2357 – Executive Session #1: The Cloud Management of Tomorrow, as Seen From the CTO’s Office
  • HCMB1311 – Executive Session #2: Two steps Ahead of the Future, the VMware Cloud Management Roadmap

Таги: VMware, Cloud AI, VMworld, vCloud, Cloud, Optimization, Performance, SDDC, vRealize

Улучшения технологии vMotion в VMware vSphere 7 Update 1


Многие из вас знают, что компания VMware с каждым новым релизом мажорной версии платформы vSphere улучшает техники горячей миграции виртуальных машин vMotion. Последнее обновление VMware vSphere 7 Update 1 - не исключение, там было сделано много для того, чтобы технология vMotion работала еще быстрее и обеспечивала нужды горячей миграции даже для самых тяжелых виртуальных машин.

Ранее vMotion могла не пройти для больших ВМ, которые имели более 64 vCPU и 512 ГБ памяти (они же Monster VMs). В документе "vMotion Innovations in vSphere 7.0 U1" можно найти конкретное описание улучшений. Давайте посмотрим на них вкратце.

Прежде всего, VMware полностью переписала технологию vMotion memory pre-copy с использованием нового механизма page-tracing, который существенно уменьшает время "заморозки" и переключения копии виртуальной машины на ее копию на другом хосте ESXi.  

В документе выше для примера делается миграция vMotion сервера БД Oracle, запущенного в виртуальной машине с 72-vCPU / 1 TБ памяти на борту. На картинке ниже показано число тразакций в секунду с шагом как раз в секунду - до, во время и после vMotion (тест HammerDB):

Основные выводы теста, проведенного для такой нагрузки:

  • Общее время миграции уменьшилось более чем в 2 раза (с 271 секунды до 120 секунд)
  • Итоговое время для установления трассировки уменьшилось с 86 секунд до 7.5 секунд (снизилось в 11 раз)
  • Общее проседание пропускной способности во время миграции - на 50% для vSphere 6.7 и всего лишь 5% для vSphere 7.0 Update 1
  • Ответ Oracle во время переключения в среднем стал менее одной секунды, а ранее составлял более 6 секунд

Второй тест проводили для миграции vMotion сервера БД Oracle в виртуальной машине с 12 vCPU / 64 ГБ памяти для vSphere 6.7 и vSphere 7.0 U1. На картинке ниже показано число транзакций в секунду с шагом в полсекунды - до, во время и после vMotion (тест HammerDB):

Основные результаты теста:

  • Общее время горячей миграции сократилось с 23 секунд в vSphere 6.7 до 11 секунд в vSphere 7.0 U1 (уменьшение в 2 раза)
  • Итоговое время для установления трассировки уменьшилось с 2.8 секунд до 0.4 секунд (снизилось в 7 раз)
  • Увеличение полосы пропускания где-то на 45% (около 3480 транзакций в секунду, по сравнению с 2403 транзакции в секунду)

Остальные интересные подробности приведены в документе "vMotion Innovations in vSphere 7.0 U1".


Таги: VMware, vMotion, Update, Performance, vSphere, Whitepaper

Использование сетевых адаптеров USB на хостах VMware ESXi - конфигурация и тестирование


Коллега с virten.net написал замечательную статью об использовании сетевых адаптеров USB на хостах VMware ESXi, основные моменты которой мы приведем ниже.

Напомним, что подключить сетевые адаптеры USB на хостах ESXi можно с помощью драйвера USB Network Native Driver for ESXi, о котором мы не так давно писали вот тут. Такой адаптер, например, можно использовать, когда вам необходимо подключить дополнительные Ethernet-порты к серверу, а у него больше не осталось свободных PCI/PCIe-слотов.

Еще один вариант использования таких адаптеров - когда у вас (например, на тестовом сервере) есть всего один гигабитный порт, а вам нужно тестировать технологии и продукты, где нужно несколько высокоскоростных соединений.

Итак, после того, как вы скачаете драйвер, его установка делается одной командой:

# esxcli software vib install -d /path/ESXi700-VMKUSB-NIC-FLING-39035884-component-16770668.zip

На VMware ESXi 7 можно использовать фичу "component":

# esxcli software component apply -d /path/ESXi700-VMKUSB-NIC-FLING-39035884-component-16770668.zip

С помощью PowerShell можно создать кастомизированный образ ESXi с уже вшитым драйвером сетевого USB-адаптера. Просто раскомментируйте строчку с нужной версией драйвера:

# ESXi 7.0 Image with USB NIC Fling 1.6:

$baseProfile = "ESXi-7.0.0-15843807-standard" # See https://www.virten.net/vmware/vmware-esxi-image-profiles/ for available Image Profiles
$usbFling = "ESXi700-VMKUSB-NIC-FLING-39035884-component-16770668.zip" # Uncomment for ESXi 7.0
#$usbFling = "ESXi670-VMKUSB-NIC-FLING-39203948-offline_bundle-16780994.zip" # Uncomment for ESXi 6.7
#$usbFling = "ESXi650-VMKUSB-NIC-FLING-39176435-offline_bundle-16775917.zip" # Uncomment for ESXi 6.5

Add-EsxSoftwareDepot https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml
Export-ESXImageProfile -ImageProfile $baseProfile -ExportToBundle -filepath "$($baseProfile).zip"
Remove-EsxSoftwareDepot https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml
Invoke-WebRequest -Method "GET" https://download3.vmware.com/software/vmw-tools/USBNND/$($usbFling) -OutFile $($usbFling)
Add-EsxSoftwareDepot "$($baseProfile).zip"
Add-EsxSoftwareDepot $usbFling
$newProfile = New-EsxImageProfile -CloneProfile $baseProfile -name $($baseProfile.Replace("standard", "usbnic")) -Vendor "virten.net"
Add-EsxSoftwarePackage -ImageProfile $newProfile -SoftwarePackage "vmkusb-nic-fling"
Export-ESXImageProfile -ImageProfile $newProfile -ExportToIso -filepath "$($baseProfile.Replace("standard", "usbnic")).iso"
Export-ESXImageProfile -ImageProfile $newProfile -ExportToBundle -filepath "$($baseProfile.Replace("standard", "usbnic")).zip"

При установке VMware ESXi на хост, где есть только USB сетевые адаптеры, процесс может зависнуть на 81%. В этом случае почитайте вот эту статью.

Кстати, ваши USB-адаптеры лучше всего пометить наклейками. Автор предлагает указать имя хоста ESXi, MAC-адрес адаптера и его номер vusbX:

Номер виртуального vusbX не сохраняется при перезагрузках. Начиная с версии драйвера 1.6 можно закрепить MAC-адрес за нужным vusbX. Сначала найдем наш адаптер:

# esxcli network nic list |grep vusb |awk '{print $1, $8}'
vusb0 00:23:54:8c:43:45
vusb1 a0:ce:c8:cd:3d:5d

Затем сделаем статический маппинг адаптеров с использованием модуля vmkusb_nic_fling:

# esxcli system module parameters set -p "vusb0_mac=00:23:54:8c:43:45 vusb1_mac=a0:ce:c8:cd:3d:5d" -m vmkusb_nic_fling

В данной команде нужно перечислить все адаптеры через пробел (если вы вызываете ее второй раз, то нужно переуказать каждый из адаптеров, иначе маппинг сбросится).

Далее нужно проверить маппинги с помощью команды:

# esxcli system module parameters list -m vmkusb_nic_fling
Name                        Type    Value              Description
--------------------------  ------  -----------------  -----------
usbCdromPassthroughEnabled  int                        Enable USB CDROM device for USB passtrough: 0 No, 1 Yes
vusb0_mac                   string  00:23:54:8c:43:45  persist vusb0 MAC Address: xx:xx:xx:xx:xx:xx
vusb1_mac                   string  a0:ce:c8:cd:3d:5d  persist vusb1 MAC Address: xx:xx:xx:xx:xx:xx
vusb2_mac                   string                     persist vusb2 MAC Address: xx:xx:xx:xx:xx:xx
vusb3_mac                   string                     persist vusb3 MAC Address: xx:xx:xx:xx:xx:xx
vusb4_mac                   string                     persist vusb4 MAC Address: xx:xx:xx:xx:xx:xx
vusb5_mac                   string                     persist vusb5 MAC Address: xx:xx:xx:xx:xx:xx
vusb6_mac                   string                     persist vusb6 MAC Address: xx:xx:xx:xx:xx:xx
vusb7_mac                   string                     persist vusb7 MAC Address: xx:xx:xx:xx:xx:xx

Если вы хотите сделать текущий маппинг постоянным, то используйте команду:

# esxcli system module parameters set -p "$(esxcli network nic list |grep vusb |awk '{print $1 "_mac=" $8}' | awk 1 ORS=' ')" -m vmkusb_nic_fling

Также статические маппинги можно сделать и через PowerCLI. Выводим адаптеры:

PS> Get-VMHostNetworkAdapter -VMHost esx2.virten.lab -Physical -Name vusb* |select Name,Mac
Name Mac
---- ---
vusb0 00:23:54:8c:43:45
vusb1 a0:ce:c8:cd:3d:5d

Настраиваем маппинги MAC-адресов:

PS> get-vmhost esx2.virten.lab | Get-VMHostModule vmkusb_nic_fling | Set-VMHostModule -Options "vusb0_mac=00:23:54:8c:43:45 vusb1_mac=a0:ce:c8:cd:3d:5d"

Проверяем результат:

PS> get-vmhost esx2.virten.lab | Get-VMHostModule vmkusb_nic_fling |ft -AutoSize
Name Options
---- -------
vmkusb_nic_fling vusb0_mac=00:23:54:8c:43:45 vusb1_mac=a0:ce:c8:cd:3d:5d

Тестируем производительность адаптеров

В тесте используются три типа адаптеров на хосте ESXi:

  • Intel NUC embedded NIC (подключен к физическому коммутатору)
  • 1 Gbit StarTech USB NIC (подключен к физическому коммутатору)
  • 2.5 Gbit CableCreation (кросс-соединение между хостами)

Измеряем задержки (latency) с помощью пинга (50 штук):

# ping [Address] -c 50

Результат:

Далее тестируем пропускную способность (bandwidth) с помощью iperf3. Для этого нужно сделать копию бинарника утилиты:

# cp /usr/lib/vmware/vsan/bin/iperf3 /usr/lib/vmware/vsan/bin/iperf3.copy

Запускаем сервер на первом ESXi:

# /usr/lib/vmware/vsan/bin/iperf3.copy -s

Далее запускаем клиент на втором ESXi. Тест идет 5 минут (300 секунд) с сэмплами каждые 10 секунд:

# /usr/lib/vmware/vsan/bin/iperf3.copy -i 10 -t 300 -c [SERVER-IP]

Результат:

Далее проводим операцию vMotion виртуальной машины между хостами ESXi. Результат таков:

Очевидно, кросс-соединение на адаптерах 2.5G рулит.

Проверка совместимости

Не все сетевые адаптеры USB поддерживаются нативным драйвером. Их актуальный список всегда можно найти вот тут. Вот эти адаптеры точно работают:

Адаптеры доступны в форм-факторах USB-A и USB-C. Между ними есть переходники.

Если вам нужно высокоскоростное соединение (multi-gigabit) между несколькими хостами, можно посмотреть на следующие коммутаторы:

  • MikroTik CRS305-1G-4S+IN ($130 USD) - 4 порта
  • MikroTik CRS309-1G-8S+IN ($260 USD) - 8 портов
  • Netgear MS510TX ($260 USD) - 10 портов
  • TRENDnet TEG-30102WS ($450 USD) - 10 портов

Самое быстрое и дешевое соединение между двумя хостами ESXi - соединить адаптеры патч-кордом напрямую:

Проверяйте параметр MTU size, когда включаете Jumbo Frames

Если вы меняете размер MTU на виртуальном коммутаторе, он принудительно меняется на всех подключенных к нему физических сетевых адаптерах. Имейте в виду, что эти адаптеры должны поддерживать выставляемый MTU size.

Посмотреть размер MTU можно следующей командой:

[root@esx4:~] esxcfg-nics -l Name PCI Driver Link Speed Duplex MAC Address MTU Description vmnic0 0000:00:1f.6 ne1000 Up 1000Mbps Full 00:1f:c6:9c:47:13 1500 Intel Corporation Ethernet Connection (2) I219-LM vusb0 Pseudo uether Up 1000Mbps Full 00:24:9b:1a:bd:18 1600 ASIX Elec. Corp. AX88179 vusb1 Pseudo uether Up 1000Mbps Full 00:24:9b:1a:bd:19 1500 ASIX Elec. Corp. AX88179

В данном примере MTU size настроен как 1600, что подходит для адаптеров (и работает для сети NSX-T). Если же вы поставите его в 9000, то увидите в vmkernel.log ошибки для dvSwitch о том, что такой размер не поддерживается устройством:

2020-07-19T16:10:42.344Z cpu6:524356)WARNING: vmkusb: Set MTU 9000 is not supported: Failure
2020-07-19T16:10:42.344Z cpu6:524356)WARNING: Uplink: 16632: Failed to set MTU to 9000 on vusb0

Если вы хотите проверить корректность вашего MTU size, то можно использовать команду ping с размером пакета MTU-28 байт (8 байт на заголовок ICMP и 20 байт на заголовок IP). Таким образом, для MTU size 1600 используйте число 1572:

[root@esx2:~] vmkping ++netstack=vxlan 192.168.225.10 -d -s 1572 -I vmk10 PING 192.168.225.10 (192.168.225.10): 1572 data bytes 1580 bytes from 192.168.225.10: icmp_seq=0 ttl=64 time=0.680 ms [root@esx2:~] vmkping ++netstack=vxlan 192.168.225.10 -d -s 1573 -I vmk10 PING 192.168.225.10 (192.168.225.10): 1573 data bytes sendto() failed (Message too long)

Источник статьи.


Таги: VMware, ESXi, USB, Networking, Performance, Blogs

Настройки инфраструктуры StarWind VSAN for vSphere: изменение типа планировщика ввода-вывода Linux I/O scheduler


Производительность дисковой подсистемы в Linux зависит от различных параметров и настроек, одной из которых является тип планировщика для работы с потоком ввода-вывода (I/O scheduler). Если вы планируете использовать продукт StarWind VSAN for vSphere для создания программных хранилищ на базе виртуальных машин Linux (Virtual Storage Appliance), то информация ниже может быть вам полезна.

В зависимости от типа целевого хранилища, иногда целесообразно поменять используемый тип планировщика. Чтобы вывести текущий тип I/O scheduler, нужно выполнить следующую команду для выбранного устройства:

# cat /sys/block/sda/queue/scheduler
noop [deadline] cfq

В данном случае мы видим, что тип планировщика - это noop (он же none). В зависимости от версии ядра Linux, он также может быть выставлен как mq-deadline. Кстати, обратите внимание, что тип планировщика указывается на уровне отдельного дискового устройства.

Считается, что для SSD и NVMe-устройств лучше ставить планировщик none / noop, который уменьшает нагрузку на CPU, а вот для HDD-дисков лучше использовать mq-deadline, который показывает лучшие результаты по итогам синтетических тестов.

Чтобы поменять планировщик на noop для диска sdb, нужно выполнить следующую команду:

# echo noop > /sys/block/sdb/queue/scheduler

Потом надо обязательно проверить, что планировщик поменялся, следующей командой:

# cat /sys/block/sdb/queue/scheduler
[noop] deadline cfq

Но это все меняет тип планировщика на время, до перезагрузки, чтобы вы могли проверить разные планировщики и сделать тесты производительности. Чтобы сохранить эти изменения, нужно изменить файл scheduler.rules в директории /etc/udev/rules.d/

Например, если вы хотите поменять планировщик на noop для устройства sdb и установить политику "no read ahead" для него, то нужно добавить туда следующую строчку:

ACTION=="add|change", SUBSYSTEM=="block", KERNEL=="sdb", ATTR{queue/scheduler}="noop", ATTR{queue/read_ahead_kb}="0"

Рекомендуется выставлять одинаковый тип планировщика на всех узлах, где расположены хранилища StarWind VSAN. Также надо отметить, что последние версии продукта StarWind VSAN for vSphere при установке автоматически выставляют тип планировщика noop для SSD-хранилищ.


Таги: StarWind, Virtual SAN, Performance, Linux, Storage

Тестирование производительности постоянной памяти Intel Optane в режиме Balanced Profile


Недавно компания VMware опубликовала документ "VMware vSphere Performance with Intel Optane Persistent Memory in Memory Mode - Balanced Profile", в котором рассмотрены различные аспекты тестирования производительности постоянной памяти Intel Optane, которая работает в новом режиме Balanced Profile.

Напомним, что Intel Optane DC persistent memory (DCPMM) - эта память не такая быстрая как DRAM и имеет бОльшие задержки, но они все равно измеряются наносекундами. При этом данная память позволяет иметь ее большой объем на сервере, что существенно повышает плотность ВМ на одном хосте.

Модули DCPMM изготавливаются под разъем DDR4 и доступны планками по 128, 256 и 512 ГБ. В одной системе может быть до 6 ТБ памяти DCPMM. Платформа VMware vSphere 6.7 EP10 и более поздние версии поддерживают память Intel Optane persistent memory 100 series (она же Intel Optane PMem) со вторым поколением процессоров Intel Xeon Scalable в режимах App Direct и Memory.

В указанном документе рассматривается производительность данной памяти в новом режиме Balanced Profile для конфигурации BIOS, который впервые появился в процессорах Intel этой серии в целях повышения производительности. За счет данного режима производительность памяти увеличилась в 1.75 раза, как показано на картинке по результатам тестов:

Об остальном можно узнать из упомянутого выше документа.


Таги: VMware, vSphere, Memory, Performance, Whitepaper

Примеры работы нового механизма балансировки нагрузки DRS на платформе VMware vSphere 7


Не так давно мы писали о том, как работает обновленный механизм балансировки нагрузки VMware DRS на новой версии платформы VMware vSphere 7. Напомним, что механизм DRS был полностью переписан, так как его основы закладывались достаточно давно.

Раньше DRS был сфокусирован на выравнивании нагрузки на уровне всего кластера хостов ESXi в целом (на базе расчета стандартного отклонения по производительности), то есть бралась в расчет загрузка аппаратных ресурсов каждого из серверов ESXi, на основании которой рассчитывались рекомендации по миграциям vMotion виртуальных машин. Теперь же механизм запускается каждую минуту, а для генерации рекомендаций используется механизм VM DRS Score (он же VM Hapiness), отражающий удовлетворение потребности виртуальной машины в свободных ресурсах.

В документе "Load Balancing Performance of DRS in vSphere 7.0" компания VMware наглядно демонстрирует ситуации в которых новый DRS отрабатывает лучше старого. Давайте на них посмотрим.

Пример 1 - хост с отклонением нагрузки от большинства

В старом DRS, работающем по принципу выравнивания нагрузки в кластере на базе анализа стандартного отклонения загруженности хостов в рамках определенного порога, могла возникнуть вот такая ситуация, когда DRS не требовалось предпринимать никаких действий по выравниванию нагрузки, хотя они, очевидно, требовались:

Новый DRS работает на базе анализа ресурсов для каждой виртуальной машины и будет перемещать их средствами vMotion, пока не достигнет максимальной доступности ресурсов для каждой ВМ. В точно таком же случае, как описано выше, это приведет в итоге к более сбалансированной ситуации:

Пример 2 - неравномерная загрузка хостов в кластере

В старом DRS был порог по дисбалансу в кластере, и если он не превышен - то механизм балансировки не запускался. Это могло приводить к образованием групп хостов с разными уровнями средней загрузки процессора и памяти:

В ситуации с новым DRS ситуация в итоге, опять-таки, получается более справедливая:

Также полезной оказывается метрика DRS Score (она же VM Hapiness), которая формируется из 10-15 главных метрик машин. Основные метрики из этого числа - Host CPU Cache Cost, VM CPU Ready Time, VM Memory Swapped и Workload Burstiness.

Если все машины чувствуют себя "комфортно" на всех хостах, то DRS Score оказывается максимальным:

Если подать нагрузку на пару хостов ESXi, то их средний DRS Score падает, а на дэшборде указывается число машин, для которых рассчитаны низкие уровни DRS Score:

После того, как DRS обработает эту ситуацию, нагрузка на хосты выравнивается, а значение DRS Score увеличивается:

В документе еще много чего интересного - читайте.


Таги: VMware, DRS, Performance, Sphere, Whitepaper

Большое обновление утилиты Horizon Reach 1.1 на VMware Labs - что нового?


На сайте проекта VMware Labs обновилась утилита Horizon Reach до версии 1.1, которая позволяет проводить мониторинг и алертинг для развертываний VMware Horizon на площадках заказчиков (только в реальном времени, без исторических данных). Horizon Reach предназначен для тех окружений VMware Horizon, которые образуются в крупных компаниях на уровне площадок (Pod) в рамках концепции Cloud Pod Architecture как отдельный домен отказа (либо где площадки изолированы, но хочется иметь доступ к мониторингу в моменте из одной точки).

Это большое обновление, и в нем появилось много новых возможностей и исправлений ошибок прошлой версии (о которой мы писали осенью прошлого года вот тут).

Давайте посмотрим, что нового в Horizon Reach 1.1:

  • Теперь утилитой можно напрямую мониторить компоненты Unified Access Gateways, также доступны функции скачивания конфигурации и логов
  • Пользовательские сессии можно просматривать в рамках следующих представлений:
    • Pools
    • Farms
    • Unified Access Gateways
    • Global Entitlements
    • Global Application Entitlements
  • Алармы были полностью переработаны, чтобы поддерживать отправку нотификаций в следующие каналы:
    • SMTP
    • Slack
    • Сторонние средства через сценарии PowerShell
  • LDAP-интеграция алармов поддерживает кириллицу
  • Улучшенный дэшборд алармов
  • Обновления vCenter:
    • Хосты теперь видимы, и для них отслеживается производительность
    • Датасторы теперь видимы, показано свободное пространство
    • Кастеры теперь видимы, для них доступны различные представления - пулы, фермы и т.п. Также можно использовать интеграцию PowerShell и API
  • Профили vGPU теперь показаны в представлении пулов
  • Множество исправлений ошибок

Скачать VMware Horizon Reach 1.1 можно по этой ссылке.


Таги: VMware, Horizon, Labs, Performance, Monitoring, Troubleshooting, VDI

На VMware Labs обновилась утилита HCIBench до версии 2.4


На сайте проекта VMware Labs вышло очередное полезное обновление - утилита HCIBench версии 2.4. О прошлых версиях HCIBench мы писали тут и тут. Напомним, что она позволяет провести комплексный тест производительности отказоустойчивых кластеров хранилищ Virtual SAN, а также других конфигураций виртуальной инфраструктуры.

Суть работы HCIbench проста - пользователь задает параметры работы скрипта, а утилита дает команду Vdbench, какие действия необходимо выполнить в кластере хранилищ.

Посмотрим, что нового в HCIBench 2.4:

  • Исправлена частая ошибка при указании хоста во время развертывания
  • Поддержка варианта запуска easy run для "растянутого" (stretched) кластера
  • Исправлена ошибка в отображении таймзоны в PDF-отчете, также в отчет было добавлено немного полезной информации о vSAN
  • Установка testname и testcase как переменных фреймворка Grafana
  • Добавлена информация о CPU workload на страницу конфигурации модели fio
  • Обновлен пакет rbvmomi - теперь он поддерживает vSphere 7.0+
  • Улучшенные дашборды компонентов fio и vdbench graphite

Скачать HCIBench 2.4 можно по этой ссылке. Документация доступна тут.


Таги: VMware, Labs, HCIBench, Update, Performance, vSphere

Как дедупликация и сжатие данных в VMware vSAN влияет на производительность?


Многие из вас знают, что в решении для организации отказоустойчивых кластеров хранилищ VMware vSAN есть функции дедупликации и сжатия данных (deduplication and compression, DD&C). С помощью этих функций можно более эффективно использовать ярус хранения данных виртуальных машин (Capacity Tier). О некоторых аспектах применения дедупликации и сжатия данных в vSAN мы рассказывали вот тут, а сегодня поговорим об их общем влиянии на производительность дисковой подсистемы.

Как знают администраторы vSAN, это решение использует двухъярусную архитектуру, создающую оптимальное соотношение цена/качество для хранилищ ВМ - на Cache Tier, собранном из дорогих SSD-дисков (быстро работающих на дисках), размещается Write Buffer и Read Cache, а на дешевых SSD/HDD-дисках - постоянные данные виртуальных машин.

Механизм DD&C работает так - если он включен, то как только из Cache Tier виртуальной машине отправляется квитанция о записи данных, то может начаться процесс дестейджинга данных на Capacity Tier, во время которого сам механизм и вступает в действие. Сначала с помощью механики дедупликации в рамках дисковой группы (deduplication domain) находятся идентичные блоки размером 4 КБ и дедуплицируются, а затем блоки сжимаются. При этом, если блок сжимается менее, чем на 50%, то целевое хранилище записывается оригинал блока в целях быстрого доступа при чтении (без декомпрессии).

Получается, что механизм DD&C - оппортунистический, то есть он работает не всегда, а по мере возможности и не гарантирует конкретных результатов по эффективности сжатия данных на целевом хранилище.

Такая модель позволяет не затрагивать процесс посылки квитанции виртуальной машине о записи данных, а также не заморачиваться с дедупликацией блоков уже на целевом хранилище в рамках пост-процессинга.

Очевидно, что дедупликация с компрессией могут влиять на производительность, так как требуют ресурсов процессора на обработку потока ввода-вывода. Давайте посмотрим, как именно.

При высоком входящем потоке операций чтения и записи vSAN старается обеспечить наименьшую задержку (latency) при прохождении команд. При этом vSAN сам решает, в какой именно момент начать процесс дестейджинга данных, поэтому буфер на запись заполняется разные моменты по-разному.

Такая двухъярусная система vSAN имеет 2 теоретических максимума:

  • Max burst rate - возможность Cache Tier сбрасывать обработанные пакеты данных в сторону Capacity Tier
  • Max steady state rate - установившаяся максимальная скорость записи данных на приемнике Capacity Tier

Реальная скорость обмена данными между ярусами лежит где-то между этими значениями. Если вы будете использовать бенчмарк HCIBench на длительном отрезке времени, то сможете практическим путем определить эти значения из соответствующих графиков замера производительности хранилища.

Если у вас идет дестейджинг данных с включенным DD&C, это потенциально может повлиять на производительность записи данных на Capacity Tier. При использовании DD&C снижается максимальная скорость записи данных на ярус постоянного хранения, так как перед этой записью должны быть выполнены операции дедупликации и сжатия.

Иными словами, кластер с включенным DD&C может давать такие же показатели качества обслуживания, как и кластер с более медленными устройствами в Capacity Tier, но с выключенным DD&C.

Логично ожидать, что при включенном DD&C буффер Write Buffer будет заполняться скорее, так как будут возникать задержки ожидания отработки DD&C. Но пока буффер полностью не заполнен - заметных просадок в производительности не будет. Очищаться также Write Buffer будет медленнее при включенном DD&C.

Также может измениться и время отсылки квитанции о записи (acknowledgment time, оно же write latency), которое увеличит latency для виртуальной машины. Это произойдет, если уже начался дестейджинг данных, а машина запрашивает ACK и ждет ответа с уровня буффера. Хотя в целом vSAN построен таким образом, чтобы как можно быстрее такой ответ дать.

Надо отметить, что vSAN не торопится сразу скинуть все данные из Write Buffer на диск. В vSAN есть интеллектуальные алгоритмы, которые позволяют делать это равномерно и вовремя, с учетом общей текущей нагрузки. Например, при частой перезаписи данных одной ячейки памяти, она обрабатывается в цепочке сначала именно на уровне буффера, а на диск уже идет финальный результат.

Если вы также используете RAID 5/6 для кластеров vSAN, то совместно с техниками DD&C могут возникнуть серьезные эффекты с влиянием на производительность. Об этих аспектах подробно рассказано вот тут - обязательно ознакомьтесь с ними (см. также комментарий к статье).

По итогу можно сделать следующие выводы из этой схемы:

  • Если вам хочется использовать DD&C, и вы видите, что у ВМ высокая latency - попробуйте более быстрые диски на Capacity Tier.
  • Используйте больше дисковых групп, так как Buffer и его пространство hot working set используется на уровне дисковой группы. Две группы на хосте нужно минимум, а лучше три.
  • Альтернативой DD&C могут стать устройства большой емкости - там просто все поместится).
  • Используйте последнюю версию vSAN - алгоритмы работы с данными все время совершенствуются.
  • Также помните, что RAID 5/6 также экономит место по сравнению с RAID1, что может стать альтернативой DD&C.

Ну и главный вывод он как всегда один: производительность - это всегда компромисс между требованиями рабочих нагрузок и деньгами, которые вы готовы потратить на обеспечение этих требований.


Таги: VMware, vSAN, Performance, Hardware, SSD

Обновленная книга "Performance Best Practices for VMware vSphere 7.0"


Компания VMware выпустила на днях обновление одного из самых главных своих документов - "Performance Best Practices for VMware vSphere 7.0". Мы не зря в заголовке назвали это книгой, так как данный документ представляет собой всеобъемлющее руководство, где рассматриваются все аспекты поддержания и повышения производительности новой версии платформы VMware vSphere 7.0 и виртуальных машин в контексте ее основных возможностей.

На 96 листах очень подробно описаны лучшие практики для администраторов платформы и гостевых ОС:

Вот все корневые разделы этого руководства:

  • Persistent memory (PMem), including using PMem with NUMA and vNUMA
  • Getting the best performance from NVMe and NVME-oF storage
  • AMD EPYC processor NUMA settings
  • Distributed Resource Scheduler (DRS) 2.0
  • Automatic space reclamation (UNMAP)
  • Host-Wide performance tuning (aka, “dense mode”)
  • Power management settings
  • Hardware-assisted virtualization
  • Storage hardware considerations
  • Network hardware considerations
  • Memory page sharing
  • Getting the best performance from iSCSI and NFS storage
  • vSphere virtual machine encryption recommendations
  • Running storage latency-sensitive workloads
  • Running network latency-sensitive workloads
  • Network I/O Control (NetIOC)
  • DirectPath I/O
  • Microsoft Virtualization-Based Security (VBS)
  • Selecting virtual network adapters
  • vCenter database considerations
  • The vSphere HTML5 Client
  • VMware vSphere Lifecycle Manager
  • VMware vSAN performance

Для администраторов больших инфраструктур, активно внедряющих новые технологии (например, хранилища с Persistent Memory или DRS 2.0), появилось много всего нового и интересного, поэтому с книжкой нужно хотя бы ознакомиться по диагонали, останавливаясь на новых функциях ESXi 7 и vCenter 7.

Скачать PDF-версию "Performance Best Practices for VMware vSphere 7.0" можно по этой ссылке.


Таги: VMware, vSphere, Performance, Whitepaper, ESXi, vCenter, VMachines, Update

Новое на VMware Labs: обновилась утилита FlowGate до версии 1.1 и вышло обновление VMware OS Optimization Tool


На сайте проекта VMware Labs появилась еще пара интересных обновлений.

Первое - новая версия FlowGate 1.1. Эта утилита представляет собой средство для агрегации данных из различных источников. Это middleware, которое позволяет провести агрегацию данных систем инвентаризации датацентров DCIM / CMDB и далее передать их в системы управления задачами инфраструктуры (например, vRealize Operations). Напомним, что о прошлой версии этого средства мы писали вот тут.

Что нового в обновлении FlowGate 1.1:

  • Переработаны адаптеры powerIQ и Nlyte - теперь они поддерживают больше метрик и свойств
  • Доработан Metric API
  • Улучшена функциональность ручного маппинга, включая поддержку PDU, коммутаторов и сенсоров
  • Добавлена поддержка маппинга IP и AssetName
  • Исправлены проблемы безопасности
  • Существенно уменьшен размер инсталляции

Скачать FlowGate 1.1 можно по этой ссылке.

Второе - обновилось решение VMware OS Optimization Tool до версии b1160 от 2 июня 2020 года. Напомним, что о прошлой его версии мы писали вот тут.

Это средство предназначено для подготовки гостевых ОС к развертыванию и проведению тюнинга реестра в целях оптимизации производительности, а также отключения ненужных сервисов и запланированных задач.

Давайте посмотрим, что нового появилось в июньском апдейте OS Optimization Tool:

  • Windows Update - новая опция, которая называется Update, позволяющая заново включить функционал Windows Update, который был ранее отключен в рамках оптимизации
  • Полностью переработанный интерфейс, позволяющий проще изменять настройки и кастомизировать файл ответов
  • Добавлены команды, с помощью которых можно отключить службы App Volumes, если они установлены, перед запуском шагов стадии Finalize
  • Выбор опций стадии Finalize теперь сохраняется между прогонами утилиты, что позволяет не терять время на выставление настроек заново
  • Стандартизация опций командной строки (теперь можно использовать -optimize или -o и т.п.)
  • Удалены оптимизации, которые будучи не выбраны по умолчанию, могли приводить к проблемам. Например, Disable Scheduled Tasks и CacheTask
  • Обновлено руководство VMware Operating System Optimization Tool Guide

Скачать VMware OS Optimization Tool b1160 можно по этой ссылке.


Таги: VMware, Labs, Update, FlowGate, Performance, Optimization, Tools

Медленная скорость чтения с NFS-хранилищ со стороны серверов VMware ESXi, и как это исправить


Недавно компания VMware выпустила интересный документ, объясняющий иногда возникающие проблемы с производительностью операций чтения с NFS-хранилищ для серверов VMware ESXi версий 6.x и 7.x. В документе "ESXi NFS Read Performance: TCP Interaction between Slow Start and Delayed Acknowledgement" рассматривается ситуация с эффектом Slow Start и Delayed Acknowledgement.

Этот эффект возникает в некоторых сценариях с низким процентом потери пакетов (packet loss), когда используется fast retransmit на передатчике и selective acknowledgement (SACK) на приемнике. Для некоторых реализаций стека TCP/IP в случаях, когда передатчик входит в состояние slow start при включенной отложенной квитанции приема пакетов (delayed ACK), квитанция о приеме первого сегмента slow start может быть отложена на время до 100 миллисекунд. Этого оказывается достаточно, чтобы снизить последовательную скорость чтения с NFS-хранилища на величину до 35% (при этом потери пакетов не будут превышать 0.02%).

Более подробно механика возникновения этого эффекта описана в документе. Там же рассказывается и метод борьбы с этим: если вы подозреваете, что у вас подобная проблема, надо просто отключить ESXi NFS Client Delayed ACK и посмотреть, стало ли лучше. Для этого в консоли нужно выполнить следующую команду:

esxcli system settings advanced set -o "/SunRPC/SetNoDelayedAck" -i 1

После этого убеждаемся, что настройка установлена:

esxcli system settings advanced list | grep -A10 /SunRPC/SetNoDelayedAck

Более подробно об этом можно также почитать в KB 59548.

После этого нужно снова провести тесты на последовательное чтение. Если не помогло, то лучше вернуть настройку назад, указав в качестве параметра первой команды -i 0.


Таги: VMware, Performance, Storage, NFS, ESXi, vSphere, Whitepaper

Большое обновление VMware OS Optimization Tool b1150 на VMware Labs


На сайте проекта VMware Labs очередное обновление - вышел апдейт VMware OS Optimization Tool b1150. Напомним, что это средство предназначено для подготовки гостевых ОС к развертыванию и проведению тюнинга реестра в целях оптимизации производительности, а также отключения ненужных сервисов и запланированных задач. О прошлой версии этой утилиты b1140 мы писали вот тут.

Давайте посмотрим, что нового есть в апрельском апдейте OS Optimization Tool:

  • Появилась поддержка Windows 10 version 2004 (добавлено во встроенный шаблон Windows 10 1809 – XXXX-Server 2019).
  • Добавлено множество оптимизаций для Windows 10 и Windows Server.
  • Новые настройки для приложений:
    • Office 2013/2016/2019:
      • Отключить стартовый экран
      • Отключить анимации
      • Отключить аппаратное ускорение
    • Internet Explorer 11 и браузер Edge:
      • Возможность добавить пустую домашнюю страницу
      • Не показывать мастер первого запуска
      • Отключить аппаратное ускорение
  • Adobe Reader 11 и DC
    • Отключить аппаратное ускорение
    • Множество дополнительных мелких оптимизаций
  • Несколько новых оптимизаций для служб Windows и запланированных задач, уменьшающих время инициализации ОС и увеличивающих производительность.
  • Несколько кнопок было переименовано и реорганизовано, чтобы лучше отражать суть того, что они делают.
  • Улучшения структуры файла ответов Sysprep.
  • Новые настройки для задач во время операции Generalize.
  • Автоматизация использования утилиты SDelete для обнуления блоков на диске (полезно при клонировании диска).
  • Создание локальных групповых политик для компьютера и пользователя, которые можно посмотреть с помощью утилит RSOP и GPEdit.
  • Поддержка командной строки для шага Generalize.
  • Finalize можно запускать без указания шаблона.
  • Удалены устаревшие шаблоны для Horizon Cloud и App Volumes.
  • Шаблоны LoginVSI больше не встроены в утилиту.
  • Обновленные документы VMware Operating System Optimization Tool Guide и Creating an Optimized Windows Image for a VMware Horizon Virtual Desktop guide.

Скачать VMware OS Optimization Tool b1150 можно по этой ссылке.


Таги: VMware, Labs, Performance, VDI, Horizon, VMachines, Windows

Улучшения механизма динамической балансировки нагрузки VMware DRS в VMware vSphere 7


Некоторое время назад мы писали о новых возможностях платформы виртуализации VMware vSphere 7, среди которых мы вкратце рассказывали о нововведениях механизма динамического распределения нагрузки на хосты VMware DRS. Давайте взглянем сегодня на эти новшества несколько подробнее.

Механизм DRS был полностью переписан, так как его основы закладывались достаточно давно. Раньше DRS был сфокусирован на выравнивании нагрузки на уровне всего кластера хостов ESXi в целом, то есть бралась в расчет загрузка аппаратных ресурсов каждого из серверов ESXi, на основании которой рассчитывались рекомендации по миграциям vMotion виртуальных машин:

При этом раньше DRS запускался каждые 5 минут. Теперь же этот механизм запускается каждую минуту, а для генерации рекомендаций используется механизм VM DRS Score (он же VM Hapiness). Это композитная метрика, которая формируется из 10-15 главных метрик машин. Основные метрики из этого числа - Host CPU Cache Cost, VM CPU Ready Time, VM Memory Swapped и Workload Burstiness. Расчеты по памяти теперь основываются на Granted Memory вместо стандартного отклонения по кластеру.

Мы уже рассказывали, что в настоящее время пользователи стараются не допускать переподписку по памяти для виртуальных машин на хостах (Memory Overcommit), поэтому вместо "Active Memory" DRS 2.0 использует параметр "Granted Memory".

VM Happiness - это основной KPI, которым руководствуется DRS 2.0 при проведении миграций (то есть главная цель всей цепочки миграций - это улучшить этот показатель). Также эту оценку можно увидеть и в интерфейсе:

Как видно из картинки, DRS Score квантуется на 5 уровней, к каждому из которых относится определенное количество ВМ в кластере. Соответственно, цель механизма балансировки нагрузки - это увеличить Cluster DRS Score как агрегированный показатель на уровне всего кластера VMware HA / DRS.

Кстати, на DRS Score влияют не только метрики, касающиеся производительности. Например, на него могут влиять и метрики по заполненности хранилищ, привязанных к хостам ESXi в кластере.

Надо понимать, что новый DRS позволяет не только выровнять нагрузку, но и защитить отдельные хосты ESXi от внезапных всплесков нагрузки, которые могут привести виртуальные машины к проседанию по производительности. Поэтому главная цель - это держать на высоком уровне Cluster DRS Score и не иметь виртуальных машин с низким VM Hapiness (0-20%):

Таким образом, фокус DRS смещается с уровня хостов ESXi на уровень рабочих нагрузок в виртуальных машинах, что гораздо ближе к требованиям реального мира с точки зрения уровня обслуживания пользователей.

Если вы нажмете на опцию View all VMs в представлении summary DRS view, то сможете получить детальную информацию о DRS Score каждой из виртуальных машин, а также другие важные метрики:

Ну и, конечно же, на улучшение общего DRS Score повлияет увеличения числа хостов ESXi в кластере и разгрузка его ресурсов.

Кстати, ниже приведен небольшой обзор работы в интерфейсе нового DRS:

Еще одной важной возможностью нового DRS является функция Assignable Hardware. Многие виртуальные машины требуют некоторые аппаратные возможности для поддержания определенного уровня производительности, например, устройств PCIe с поддержкой Dynamic DirectPath I/O или NVIDIA vGPU. В этом случае теперь DRS позволяет назначить профили с поддержкой данных функций для первоначального размещения виртуальных машин в кластере.

В видео ниже описано более подробно, как это работает:

Ну и надо отметить, что теперь появился механизм Scaleable Shares, который позволяет лучше выделять Shares в пуле ресурсов с точки зрения их балансировки. Если раньше высокий назначенный уровень Shares пула не гарантировал, что виртуальные машины этого пула получат больший объем ресурсов на практике, то теперь это может использоваться именно для честного распределения нагрузки между пулами.

Этот механизм будет очень важным для таких решений, как vSphere with Kubernetes и vSphere Pod Service, чтобы определенный ярус нагрузок мог получать необходимый уровень ресурсов. Более подробно об этом рассказано в видео ниже:


Таги: VMware, vSphere, DRS, Update, ESXi, VMachines, Performance

Что такое физическая и виртуальная память для гипервизора VMware ESXi, и как он с ней работает?


В блоге VMware vSphere появилась интересная запись о том, как происходит работа с памятью в гипервизоре VMware ESXi. Приведем ее основные моменты ниже.

Работа виртуальной машины и ее приложений с памятью (RAM) идет через виртуальную память (Virtual Memory), которая транслируется в физическую память сервера (Physical Memory). Память разбита на страницы - это такие блоки, которыми виртуальная память отображается на физическую. Размер этого блока у разных систем бывает разный, но для ESXi стандартный размер страниц равен 4 КБ, а больших страниц - 2 МБ.

Для трансляции виртуальных адресов в физические используется таблица страниц (Page Table), содержащая записи PTE (Page Table Entries):

Записи PTE хранят в себе ссылки на реальные физические адреса и некоторые параметры страницы памяти (подробнее можно почитать здесь). Структуры записей PTE могут быть разного размера - это WORD (16 bits/2 bytes), DWORD (32 bits/4 bytes) и QWORD (64 bits/8 bytes). Они адресуют большие блоки адресов в физической памяти, к примеру, DWORD адресует блок адресов 4 килобайта (например, адреса от 4096 до 8191).

Память читается и передается гостевой системе и приложениям страницами по 4 КБ или 2 МБ - это позволяет читать содержимое ячеек памяти блоками, что существенно ускоряет быстродействие. Естественно, что при таком подходе есть фрагментация памяти - редко когда требуется записать целое число страниц, и часть памяти остается неиспользуемой. При увеличении размера страницы растет и их фрагментация, но увеличивается быстродействие.

Таблицы страниц (а их может быть несколько) управляются программным или аппаратным компонентом Memory Management Unit (MMU). В случае аппаратного MMU гипервизор передает функции по управлению трансляцией ему, а программный MMU реализован на уровне VMM (Virtual Machine Monitor, часть гипервизора ESXi):

Важный компонент MMU - это буфер ассоциативной трансляции (Translation Lookaside Buffer, TLB), который представляет собой кэш для MMU. TLB всегда находится как минимум в физической памяти, а для процессоров он часто реализован на уровне самого CPU, чтобы обращение к нему было максимально быстрым. Поэтому обычно время доступа к TLB на процессоре составляет около 10 наносекунд, в то время, как доступ к физической памяти составляет примерно 100 наносекунд. VMware vSphere поддерживает Hardware MMU Offload, то есть передачу функций управления памятью на сторону MMU физического процессора.

Итак, если от виртуальной машины появился запрос на доступ к виртуальному адресу 0x00004105, то этот адрес разбивается на адрес виртуальной страницы (Virtual page number - 0x0004) и смещение (Offset - 0x105 - область внутри страницы, к которой идет обращение):

Смещение напрямую передается при доступе к физической странице памяти, а вот тэг виртуальной страницы ищется в TLB. В данном случае в TLB есть запись, что соответствующий этому тэгу адрес физической страницы это 0x0007, соответственно трансляция виртуальной страницы в физическую прошла успешно. Это называется TLB Hit, то есть попадание в кэш.

Возможна и другая ситуация - при декомпозиции виртуального адреса получаемый тэг 0x0003 отсутствует в TLB. В этом случае происходит поиск страницы в физической памяти по тэгу (страницу номер 3) и уже ее адрес транслируется (0x006). Далее запись с этим тэгом добавляется в TLB (при этом старые записи из кэша вытесняются, если он заполнен):

Надо отметить, что такая операция вызывает несколько большую задержку (так как приходится искать в глобальной памяти), и такая ситуация называется TLB Miss, то есть промах TLB.

Но это не самая плохая ситуация, так как счет latency все равно идет на наносекунды. Но доступ может быть и гораздо более долгий (миллисекунды и даже секунды) в том случае, если нужная гостевой ОС страница засвопировалась на диск.

Посмотрим на пример:

Виртуальная машина обратилась к виртуальному адресу 0x00000460, для которого есть тэг 0x0000. В физической памяти для этого тэга выделена страница 0, которая означает, что искать эту страницу нужно на диске, куда страница была сброшена ввиду недостатка физической оперативной памяти.

В этом случае страница восстанавливается с диска в оперативную память (вытесняя самую старую по времени обращения страницу), ну и далее происходит трансляция адреса к этой странице. Эта ситуация называется отказ страницы (Page Fault), что приводит к задержкам в операциях приложения, поэтому иногда полезно отслеживать Page Faults отдельных процессов, чтобы понимать причину падения быстродействия при работе с памятью.


Таги: VMware, vSphere, ESXi, Memory, Performance, Blogs

Утилита VMware Weathervane для тестирования производительности кластеров Kubernetes.


В последнее время VMware уделяет очень много внимания средствам для работы с кластерами Kubernetes (например, посмотрите нашу статью про решения Tanzu Mission Control и Project Pacific). Как оказалось, у VMware постоянно обновляется специальная утилита Weathervane 2.0, которая позволяет производить тестирование производительности кластеров Kubernetes под нагрузкой. Напомним, что о первой версии этой утилиты мы писали два с половиной года назад.

Это средство может оказаться вам полезным в следующих случаях:

  • Когда нужно сравнить два кластера по производительности (например, на разном оборудовании)
  • Когда нужно понять влияние изменений конфигурации кластера на производительность
  • Когда нужно проверить корректность настройки нового кластера перед запуском его в производственную среду

Для запуска Weathervane вам нужно создать образы контейнеров, подготовить конфигурационный файл и запустить бенчмарк. Далее утилита сама развернет контейнеры в кластере, запустит приложения и соберет результаты тестирования.

Weathervane деплоит бенчмарк-приложение на узлах и подает туда нагрузку, которая генерируется через компонент Workload driver. Этот драйвер может располагаться как вместе с бенчмарк-приложением, так и во внешней среде, в отдельном кластере.

Weathervane можно установить на постоянную нагрузку для фиксированного числа симулируемых пользователей, а можно настроить на поиск максимального числа пользователей таким образом, чтобы выполнялись требования quality-of-service (QoS). В последнем случае результатом теста будет максимальное число WvUsers, которое способен выдержать кластер. Собственно, этот параметр и нужно использовать для сравнения кластеров по производительности.

Вот как выглядят компоненты решения Weathervane (компонент Run harness отвечает за исполнение тестовых прогонов и получение результатов тестирования):

Weathervane использует многоярусное веб-приложение, которое включает в себя stateless и stateful сервисы. Вы можете выбрать один из этих типов развертывания приложений. Несколько экземпляров приложений можно запускать в рамках одного прогона, что позволяет масштабировать тестирование в больших кластерах.

Приложение Weathervane состоит из нескольких ярусов. Логика приложения реализована через Java-сервисы, запущенные на сервере Tomcat, которые коммуницируют через REST API и сообщения RabbitMQ, а Zookeeper используют для координации. Бэкенд-хранилища реализованы средствами PostgreSQL и Cassandra. Фронтенд веб-серверы и прокси-кэш серверы реализованы на Nginx.

Недавно VMware провела тестирование кластеров с помощью Weathervane 2 для двух сценариев. В первом случае коллеги сравнили производительность двух поколений серверов:

Результат для различного числа микроинстансов приложений получился таким:

Как видно из картинки, если судить по числу WvUsers, то новое железо выиграло у старого в два раза (там и ядер в процессорах больше в 2 раза, но работают они на меньшей частоте). А на эквивалентном числе пользователей производительность кластера на новом оборудовании была на 15-29% выше.

Второй тест делался на разных сетевых конфигурациях кластеров Kubernetes, которые масштабировались до 16 экземпляров приложений. В первом случае использовалась механика Flannel/VXLAN, а во втором - Flannel/host-gw, которая и выиграла у первой примерно на 10%:

Скачать утилиту VMware Weathervane 2.0 можно из репозитория на GitHub по этой ссылке.


Таги: VMware, Kubernetes, Weathvane, Update, Performance

Производительность сервера VMware vCenter Server 6.7 при работе с виртуальной инфраструктурой серверов VMware ESXi удаленных офисов и филиалов


Многие пользователи платформы VMware vSphere знают, что есть такой вариант развертывания и эксплуатации распределенной виртуальной инфраструктуры как ROBO (Remote or Brunch Offices). Она подразумевает наличие одного или нескольких главных датацентров, откуда производится управление небольшими удаленными офисами, где размещено несколько серверов VMware ESXi под управлением собственного vCenter или без него.

В конце прошлого года компания VMware выпустила интересный документ "Performance of VMware vCenter Server 6.7 in Remote Offices and Branch Offices" (мы уже немного рассказывали о нем тут), где рассматривается главный аспект применения такого сценария - производительность. Ведь удаленные офисы могут располагаться в других городах, странах и даже континентах, доступ к которым осуществляется по разным типам соединений (например, 4G или спутник), поэтому очень важно, сколько трафика потребляют различные операции, и как быстро они отрабатывают с точки зрения администратора.

Параметры различных типов сетевых соединений в VMware свели в табличку (в правой колонке, что получалось в результате использования тестовой конфигурации, а в левой - как бывает в сценариях с реальными датацентрами):

Для тестирования использовалась удаленная конфигурация из 128 хостов ESXi, где было зарегистрировано 3840 виртуальных машин (960 ВМ на кластер, 30 на хост), из которых включалось до 3000 машин одновременно.

Сначала посмотрим на фоновый трафик для синхронизации хостов ESXi и vCenter, в зависимости от числа виртуальных машин на хосте (трафик в сторону vCenter):

Теперь посмотрим на трафик в обратную сторону (там просто передаются команды к хостам, ВМ не сильно затрагиваются, поэтому отличия небольшие):

Теперь посмотрим на то, как отличается объем передаваемого трафика от ESXi к vCenrer в зависимости от уровня собираемой статистики на сервере VMware vCenter:

Теперь давайте посмотрим, как отличается трафик к vCenter в зависимости от числа включенных виртуальных машин на хосте:

Посмотрим на трафик в обратную сторону (от vCenter к хостам ESXi) в зависимости от уровня статистики:

Теперь интересно посмотреть, сколько операций в минуту может выполнять vCenter с удаленными серверами ESXi в зависимости от типа соединения, а также задержки в секундах при выполнении операций:

Теперь посмотрим на задержки при выполнении отдельных операций, в зависимости от типа соединения:

Авторы документа отмечают, что больше всего на производительность операций vCenter влияет не полоса пропускания, а latency между сервером vCenter (который может быть в головном офисе) и хостами ESXi (которые могут быть на удаленной площадке).

Теперь посмотрим на сетевой трафик от хоста ESXi к серверу vCenter, который включает в себя фоновый трафик, а также собираемую статистику Level-1:

Посмотрим на такой трафик в обратную сторону - от ESXi к vCenter:

Ну а теперь посмотрим задержки на выполнение операций уже с хостами ESXi, а не с виртуальными машинами:

И в заключение, посмотрим на трафик от хостов ESXi к серверу vCenter при выполнении операций с хостами:

В общем, очень интересный документ - будет не лишним прочитать его полностью.


Таги: VMware, vCenter, Performance, ROBO, Whitepaper

Использует ли гипервизор VMware ESXi 6.7 возможности процессора Intel Turbo Boost?


На Reddit коллеги заметили, что при включении технологии Turbo Boost в процессорах Intel, из виртуальной машины увеличения производительности не наблюдается. Напомним, что Turbo Boost — это технология компании Intel для автоматического увеличения тактовой частоты процессора свыше номинальной, если при этом не превышаются ограничения мощности, температуры и тока в составе расчётной мощности (TDP).

При этом емкость CPU показывается прежней, даже при создании существенной нагрузки на процессор:

В комментариях люди правильно отвечают, что поскольку Turbo Boost - это аппаратная возможность, гостевая система виртуальной машины не ловит отображение увеличения аппаратной мощности в виртуальную машину. При этом если вы посмотрите на виртуальную машину с 4 процессорами 2.4 ГГц с уровня хоста ESXi с включенным Turbo Boost до 3 ГГц, вы увидите утилизацию процессора 4*3=12 ГГц.

То есть гостевая система вполне будет использовать преимущества этой технологии, но отображать утилизацию процессора она будет в соответствии с его номинальной мощностью.

Также нужно убедиться, что ваш хост не использует политику питания High performance power management policy, которая отключает Turbo Boost. Вместо этого используйте политику Balanced, которая включена по умолчанию.


Таги: VMware, ESXi, Hardware, Performance, vSphere, VMachines, Intel

Новая версия VMware OS Optimization Tool (январь 2020) - что нового?


В декабре мы писали о новой версии решения VMware OS Optimization Tool, которое предназначено для подготовки гостевых ОС к развертыванию и проведению тюнинга реестра в целях оптимизации производительности, а также отключения ненужных сервисов и запланированных задач.

В январе вышла новая версия (билд b1140) этого решения. Давайте посмотрим, что в ней появилось нового:

  • Новая кнопка на экране результатов задач, которая позволяет сохранить страницу как HTML-файл.
  • Новая опция, которая упрощает задачу запуска Sysprep с использованием стандартного файла ответов. Теперь можно отредактировать файл ответов до запуска Sysprep для него.
  • Новая опция по автоматизации задач в рамках этапа финализации (они переехали из common options), которые запускаются как последний шаг перед тем, как Windows будет выключена, чтобы ВМ была использована в решении VMware Horizon. Она включает в себя задачи по system clean up (очистка диска, NGEN, DISM и задача Compact). Ранее эти задачи были доступны в диалоге опций командной строки. Также можно чистить лог событий, информацию о серверах KMS и отпускании IP-адреса.
  • Новая вкладка опций Security - она позволяет быстро выбрать наиболее частые настройки безопасности. Они относятся к Bitlocker, Firewall, Windows Defender, SmartScreen и HVCI.
  • Добавлен параметр командной строки -o для запуска утилиты без применения оптимизаций (например, clean up).
  • Изменена дефолтная настройка на "не отключать Webcache", потому что это приводило к невозможности для браузеров Edge и IE сохранять файлы.
  • Обновлено руководство пользоватея VMware Operating System Optimization Tool Guide (скоро обновят и второе руководство - Creating an Optimized Windows Image for a VMware Horizon Virtual Desktop).

Скачать VMware OS Optimization Tool можно по этой ссылке.


Таги: VMware, Windows, VMachines, Optimization, Performance, VDI, Labs

Тестирование производительности режимов CPU-only, vSGA и vGPU на платформе VMware Horizon 7


Как знают многие администраторы решения для виртуализации и доставки настольных ПК предприятия VMware Horizon 7, при использовании графических карт NVIDIA есть возможность применять режим vSGA, обеспечивающий использование общего графического адаптера несколькими виртуальными машинами. Режим vSGA - это самый простой и эффективный способ использовать аппаратное ускорение для графики в виртуальных машинах.

Недавно в компании VMware провели тестирование производительности режима vSGA на платформе VMware Horizon 7, сравнив его с программным CPU-only, с одной стороны, и режимом GRID vGPU, с другой. Забегая вперед скажем, что конечно же vSGA показал лучшие результаты, чем CPU-only, при этом общий уровень оказался не сильно хуже, чем оптимизированный режим GRID vGPU.

Итак, давайте посмотрим на тестовую конфигурацию (тесты проводились как внутри десктопной ВМ на хосте, так и из клиента Horizon Client, расположенного на этом же хосте, чтобы убрать воздействие сетевого взаимодействия на тест):

Параметр Значение или конфигурация
VCPUS 2
Memory 8 GB
Disk 64 GB
OS Windows 10 Enterprise
Applications Installed Office 2013, Chrome Browser, Adobe Reader
VDI Protocol Blast
VRAM 96 MB
vSGA (3D Memory) 512 MB
vGPU Profile M60-1b
VMware Horizon Version 7.6
VDI desktop resolution 1600x1200

С точки зрения программного обеспечения, использовались следующие рабочие нагрузки:

  • Приложения Microsoft Office
  • Adobe Acrobat для открытия документов
  • Воспроизведение видео с YouTube
  • Просмотрщики CAD-файлов
  • Движок WebGL

Эксперимент 1

В первом эксперименте записывалось содержимое экрана пользователей (напрямую в VDI-десктопе, без использования удаленного протокола доступа) в трех конфигурациях и сравнивалось в разрезе двух основных показателей:

  • Отображаемое число кадров в секунду (frames per second, FPS)
  • Плавность картинки в десктопе vSGA в сравнении с CPU-only десктопом

Результатом первого теста для vSGA (анимация в PowerPoint) является более плавная картинка с большим числом FPS (поэтому запись с vSGA длится дольше):

Эти параметры численно нормализовали к уровню для vGPU и представили на графике (чем выше столбики, тем лучше):

Также в рамках этого эксперимента в PowerPoint запустили еще небольшое видео, чтобы наглядно продемонстрировать преимущество vSGA:

Эксперимент 2

Во время второго эксперимента в VMware запускали воспроизведение видео в PowerPoint из клиента Horizon Client. Там были проанализированы скриншоты видео, чтобы подсчитать FPS во всех трех режимах (CPU-only, vSGA и vGPU). Результаты также нормализовали к уровню vGPU:

На правом графике также показано нормализованное число артефактов, возникающих при отображении видео - в режиме CPU-only их достаточно много, и это видно невооруженным глазом.

Также в рамках эксперимента сравнили скриншоты, сделанные из видео на YouTube, напрямую в десктопе без удаленного доступа по протоколу PCoIP:

Очевидно, что в vSGA картинка более четкая. А вот при сравнении vGPU и vSGA уже нет столь явного различия:

Эксперимент 3

В этом эксперименте в десктопе просто запустили бенчмарк WebGL для трех режимов - CPU-only, vSGA и vGPU.

Тест / Режим vSGA CPU-only vGPU (M60-1b)
WebGL Aquarium 40 fps 4 fps 60 fps
WebGL Unity3D 42 371 23 020 56 307
WebGL Bmark 1174 720 2079

Обратите внимание, как плохо справляется режим CPU-only с тестом Aquarium. Ну и в целом видно, что vSGA работает вполне сносно, хотя и не дотягивает до vGPU.

Выводы тестирования очевидны - используйте vSGA и vGPU, если в ваших десктопах пользователи работают с графикой. Это существенно увеличивает производительность и плавность картинки. Кстати, если вы используете vSGA, то сможете делать vMotion виртуальных машин между хостами, даже если на них стоят разные графические адаптеры, а вот для vMotion с vGPU нужно унифицировать хост-серверы в этом плане (включая одинаковые версии драйверов).


Таги: VMware, VDI, Performance, View, Horizon, vGPU

Почему CPU Hot Add выключено по умолчанию в VMware vSphere, и как это влияет на производительность?


В блоге о производительности VMware появился интересный пост о том, как технология CPU Hot Add влияет на производительность операций в виртуальной машине. Как вы знаете, возможности Hot Add в VMware vSphere позволяют добавлять аппаратное обеспечение в виртуальную машину без необходимости ее выключения. В частности, CPU Hot Add позволяет добавить vCPU в запущенную ВМ таким образом, чтобы поддерживающая эту возможность гостевая ОС сразу приняла этот процессор в работу.

Между тем, согласно статье KB 2040375, функция Hot Add существенно влияет на производительность гостевой ОС, поскольку механизм горячего добавления узлов отключает функцию vNUMA. Напомним, что этот механизм включается при количестве vCPU большем 8 для одной виртуальной машины и позволяет самым оптимальным образом отображать физическую архитектуру сервера на топологию NUMA-узлов виртуальной машины (по количеству и размеру). Это приводит к тому, что CPU и память стараются взаимодействовать друг с другом в рамках одного NUMA-узла, что приводит к наименьшим задержкам при выполнении операций.

В VMware для измерения численных показателей потерь производительности при включении Hot Add решили взять бенчмарк DVD Store 3 (DS3), который используется для тестирования рабочих нагрузок в транзакционных базах данных (в частности нагрузок, например, интернет-магазинов). В качестве референсной базы данных использовалась БД размером 300 ГБ, а доступ к ней через драйвер DS3 производился из виртуальной машины с 20 vCPU и 32 ГБ RAM на борту.

Напомним, что для ВМ функции Hot Add включаются и отключаются в разделе Virtual Hardware > CPU > CPU Hot Plug, где есть чекбокс Enable CPU Hot Add.

При 28 vCPU в виртуальной машине и выключенном Hot Add консоль SQL Server Management Studio видит 2 NUMA-узла:

При включенном - только один NUMA-узел:

Далее были запущены стандартные тесты для обеих конфигураций с постепенным увеличением числа потоков для воркеров (threads), где главным критерием производительности было число операций в минуту (orders per minute, OPM). В итоге получилась вот такая картина:

Результат - включение Hot Add снизило производительность на 2-8% в зависимости от числа потоков. Поэтому включать Hot Add для виртуальной машины нужно только тогда, когда вам точно нужно именно горячее добавление vCPU или vRAM для этой ВМ.


Таги: VMware, vSphere, Hot Add, vCPU, Performance, NUMA

Как контейнеры в виртуальных машинах на VMware vSphere могут работать на 8% быстрее, чем на голом железе с Linux.


Для большинства ИТ-специалистов виртуализация ассоциируется с накладными расходами на ее содержание. Виртуальная машина имеет такие-то потери по CPU и столько-то издержки по оперативной памяти. Но иногда бывает и обратная ситуация - например, в статье про производительность контейнеров на платформе Project Pacific утверждается, что в виртуальных машинах они работают на 8% быстрее, чем на голом железе с Linux на борту.

Давайте посмотрим, почему это может быть так.

Сначала для тестирования взяли 2 идентичных аппаратных конфигурации (кластер из двух узлов), на одной из которых развернули гипервизор ESXi на платформе Project Pacific (там Kubernetes pods работают в виртуальных машинах), а на второй поставили Linux с Kubernetes pods (видимо, подразумевается Red Hat) с настройками из коробки, которые работают нативно:

VMware объясняет высокую производительность Project Pacific тем, что гипервизор воспринимает Pods как изолированные сущности, которые можно адресовать на CPU для наиболее подходящих локальных NUMA-узлов. Планировщик ESXi уже давно умеет эффективно работать с NUMA-узлами для vCPU ВМ, поэтому вполне логично ожидать здесь хороших результатов.

При настройке Kubernetes на Linux пользователь, с точки зрения выделения ресурсов CPU, оперирует логическими ядрами, которые дает технология hyperthreading, а при настройке виртуальных машин - физическими pCPU, то есть физическими ядрами процессора. Поэтому для чистоты эксперимента в тестах производительности VMware отключала hyperthreading.

Конфигурация каждого Pod выглядела так:

Всего было развернуто 10 Kubernetes pods, каждый из которых имел лимит по ресурсам 8 CPU и 42 ГБ RAM. Далее там был запущен один из Java-бенчмарков, целевым показателем которого была полоса пропускания (maximum throughput).

Результат оказался следующим:

Из графика видно, что кластер vSphere дал на 8% лучше результаты, чем нативный кластер Kubernetes на Linux.

Чтобы понять механику процесса, VMware замерила число попаданий в local DRAM (на уровне локального NUMA-домена) по сравнению с remote DRAM при условии промаха кэша в L3 процессора.

Для ESXi число таких попаданий составило 99,2%:

Это означает, что планировщик ESXi умеет размещать процессы ВМ таким образом, чтобы они могли получать более быстрый доступ к local DRAM.

Если же использовать привязку узлов к NUMA-доменам (Numactl-based pinning) в Linux, то результат работы нативных контейнеров выглядит лучше, чем таковой в виртуальных машинах:

Между тем, такая жесткая привязка узлов Kubernetes к NUMA-узлам оказывается непрактичной, когда требуется развертывать большое количество контейнеров, и возникает большая вероятность ошибок в конфигурациях.

Поэтому из коробки получается, что контейнеры Project Pacific работают лучше, чем на Linux-платформе в контексте использования ресурсов CPU.


Таги: VMware, Kubernetes, Performance, ESXi, vSphere, CPU

<<   <    1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13    >   >>
Интересное:





Зал Славы Рекламодателя
Ближайшие события в области виртуализации:

Быстрый переход:
VMware Enterprise Offtopic Broadcom VMachines Veeam Microsoft Cloud StarWind NAKIVO vStack Gartner Vinchin Nakivo IT-Grad Teradici VeeamON VMworld PowerCLI Citrix VSAN GDPR 5nine Hardware Nutanix vSphere RVTools Security Code Cisco vGate SDRS Parallels IaaS HP VMFS VM Guru Oracle Red Hat Azure KVM VeeamOn 1cloud DevOps Docker Storage NVIDIA Partnership Dell Virtual SAN Virtualization VMTurbo vRealize VirtualBox Symantec Softline EMC Login VSI Xen Amazon NetApp VDI Linux Hyper-V IBM Google VSI Security Windows vCenter Webinar View VKernel Events Windows 7 Caravan Apple TPS Hyper9 Nicira Blogs IDC Sun VMC Xtravirt Novell IntelVT Сравнение VirtualIron XenServer CitrixXen ESXi ESX ThinApp Books P2V VCF Operations Certification Memory Kubernetes NVMe AI vSAN VMConAWS vDefend VCDX Explore Tanzu Workstation Private AI Update Russian Ports HCX Live Recovery CloudHealth NSX Labs Backup Chargeback Aria VCP Intel Community Ransomware Stretched Network VMUG VCPP Data Protection ONE V2V DSM DPU Omnissa EUC Avi Skyline Host Client GenAI Horizon SASE Workspace ONE Networking Tools Performance Lifecycle AWS API USB SDDC Fusion Whitepaper SD-WAN Mobile SRM ARM HCI Converter Photon OS VEBA App Volumes Workspace Imager SplinterDB DRS SAN vMotion Open Source iSCSI Partners HA Monterey RDMA vForum Learning vRNI UAG Support Log Insight AMD vCSA NSX-T Graphics HCIBench SureBackup Docs Carbon Black vCloud Обучение Web Client vExpert OpenStack UEM CPU PKS vROPs Stencils Bug VTL Forum Video Update Manager VVols DR Cache Storage DRS Visio Manager Virtual Appliance PowerShell LSFS Client Availability Datacenter Agent esxtop Book Photon Cloud Computing SSD Comparison Blast Encryption Nested XenDesktop VSA vNetwork SSO VMDK Appliance VUM HoL Automation Replication Desktop Fault Tolerance Vanguard SaaS Connector Event Free SQL Sponsorship Finance FT Containers XenApp Snapshots vGPU Auto Deploy SMB RDM Mirage XenClient MP iOS SC VMM VDP PCoIP RHEV vMA Award Licensing Logs Server Demo vCHS Calculator Бесплатно Beta Exchange MAP DaaS Hybrid Monitoring VPLEX UCS GPU SDK Poster VSPP Receiver VDI-in-a-Box Deduplication Reporter vShield ACE Go nworks iPad XCP Data Recovery Documentation Sizing Pricing VMotion Snapshot FlexPod VMsafe Enteprise Monitor vStorage Essentials Live Migration SCVMM TCO Studio AMD-V Capacity KB VirtualCenter NFS ThinPrint VCAP Upgrade Orchestrator ML Director SIOC Troubleshooting Bugs ESA Android Python Hub Guardrails CLI Driver Foundation HPC Optimization SVMotion Diagram Plugin Helpdesk VIC VDS Migration Air DPM Flex Mac SSH VAAI Heartbeat MSCS Composer
Полезные постеры:

Постер VMware vSphere PowerCLI 10

Постер VMware Cloud Foundation 4 Architecture

Постер VMware vCloud Networking

Постер VMware Cloud on AWS Logical Design Poster for Workload Mobility

Постер Azure VMware Solution Logical Design

Постер Google Cloud VMware Engine Logical Design

Постер Multi-Cloud Application Mobility

Постер VMware NSX (референсный):

Постер VMware vCloud SDK:

Постер VMware vCloud Suite:

Управление памятью в VMware vSphere 5:

Как работает кластер VMware High Availability:

Постер VMware vSphere 5.5 ESXTOP (обзорный):

 

Популярные статьи:
Как установить VMware ESXi. Инструкция по установке сервера ESXi 4 из состава vSphere.

Типы виртуальных дисков vmdk виртуальных машин на VMware vSphere / ESX 4.

Включение поддержки технологии Intel VT на ноутбуках Sony VAIO, Toshiba, Lenovo и других.

Как работают виртуальные сети VLAN на хостах VMware ESX / ESXi.

Как настроить запуск виртуальных машин VMware Workstation и Server при старте Windows

Сравнение Oracle VirtualBox и VMware Workstation.

Диски RDM (Raw Device Mapping) для виртуальных машин VMware vSphere и серверов ESX.

Работа с дисками виртуальных машин VMware.

Где скачать последнюю версию VMware Tools для виртуальных машин на VMware ESXi.

Что такое и как работает виртуальная машина Windows XP Mode в Windows 7.

Как перенести виртуальную машину VirtualBox в VMware Workstation и обратно

Подключение локальных SATA-дисков сервера VMware ESXi в качестве хранилищ RDM для виртуальных машин.

Как поднять программный iSCSI Target на Windows 2003 Server для ESX

Инфраструктура виртуальных десктопов VMware View 3 (VDI)

Как использовать возможности VMware vSphere Management Assistant (vMA).

Интервью:

Alessandro Perilli
virtualization.info
Основатель

Ратмир Тимашев
Veeam Software
Президент


Полезные ресурсы:

Последние 100 утилит VMware Labs

Новые возможности VMware vSphere 8.0 Update 1

Новые возможности VMware vSAN 8.0 Update 1

Новые документы от VMware

Новые технологии и продукты на VMware Explore 2022

Анонсы VMware весной 2021 года

Новые технологии и продукты на VMware VMworld 2021

Новые технологии и продукты на VMware VMworld 2020

Новые технологии и продукты на VMware VMworld Europe 2019

Новые технологии и продукты на VMware VMworld US 2019

Новые технологии и продукты на VMware VMworld 2019

Новые технологии и продукты на VMware VMworld 2018

Новые технологии и продукты на VMware VMworld 2017



Copyright VM Guru 2006 - 2026, Александр Самойленко. Правила перепечатки материалов.
vExpert Badge